package cn.huntercat.ly1129.common.utils;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 功能描述：处理 BAT 脚本的工具类
 */
public final class BatUtils {

    /**
     * 功能描述：执行目标bat脚本文件
     *
     * @param params 文件路径
     */
    public static void execBatFile(String params) {
        // 指定要执行的批处理文件的路径
        try {
            // 启动进程
            // 创建 ProcessBuilder
            ProcessBuilder processBuilder = new ProcessBuilder(params.split(" "));
            processBuilder.redirectErrorStream(true); // 合并错误流与输出流

            // 启动进程
            Process process = processBuilder.start();

            // 获取输出流（如果需要）
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 等待进程结束
//            int exitCode = process.waitFor();
//            System.out.println("Exited with code: " + exitCode);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
//        execBatFile("C:\\PX4PSP\\RflySimAPIs\\MyTest.bat");
//        execBatFile("C:\\PX4PSP\\RflySimAPIs\\MySITL\\MySITLRun.bat");
//        execBatFile("C:\\PX4PSP\\RflySimAPIs\\MySITL\\MySITLRun.bat");
        execBatFile("C:\\PX4PSP\\RflySimAPIs\\MySITL\\MySITLClose.bat OldFactory");
    }

}
